const testModule = require('./moduleScrope_test.js')

/**
 * require获得对象为空的原因：
 * (1) 引入这个模块但是打印出来是个空对象没有对应属性和函数
 *     说明模块内的数据只能模块内访问，其他地方无法访问
 * (2) 另一方面是因为 require获取的模块对象默认是 那个模块的module.exports指向的对象
 *     module.exports指向的对象默认为{}，因此得到的也是{}
 * 也就是说 前者是 体现了module本身的特性
 *         后者是 根本原因
 * (3) 因此想要让require获取到数据，就应该手动将数据放到exports属性里
 *     就相当于这个exports就是C++中的公有函数给外界访问
 * 注意：require的得到的永远是exports指向的对象，因此一旦exports
 *      有了新的指向，那么得到的也是最新的
*/
console.log(testModule);

const exportsModule = require('./14.exports对象.js')

console.log(exportsModule);

